AtCoder Beginner Contest 262 题解
全部标签AtCoderBeginnerContest262A-WorldCup题解:循环判断即可#includeusingnamespacestd;voidsolve(){intn;cin>>n;for(inti=n;;i++){if(i%4==2){coutB-Triangle(Easier)题意:给定\(n\)点,\(m\)条边,如果\(a,b,c\)相连,那么\(ans++\),求\(ans\)题解:观察到\(n\)\(\le\)\(100\)可以直接暴力循环判断,然后直接搞#includeusingnamespacestd;constdoublePI=acos(-1.0);typedefpai
CodeTONRound2(Div.1+Div.2,Rated,Prizes!)题解A-Two0-1Sequences题意:有两个字符串\(a和b\),都是\(01\)字符串,可以进行一下操作看是否可以将\(a\)变成\(b\),设\(a_1\)和\(a_2\)表示的是字符串\(a\)的第一个字母和字母在满足可以操作的前提下,将\(a_2\)变成\(max(a_1,a_2)\),并将\(a_1\)删去在满足可以操作的前提下,将\(a_2\)变成\(min(a_1,a_2)\),并将\(a_1\)删去,思路:删去的时候肯定不能让字符串\(a\)的大小\(b\)的大小,并且得知后面的字符串一定要相
CodeTONRound2(Div.1+Div.2,Rated,Prizes!)题解A-Two0-1Sequences题意:有两个字符串\(a和b\),都是\(01\)字符串,可以进行一下操作看是否可以将\(a\)变成\(b\),设\(a_1\)和\(a_2\)表示的是字符串\(a\)的第一个字母和字母在满足可以操作的前提下,将\(a_2\)变成\(max(a_1,a_2)\),并将\(a_1\)删去在满足可以操作的前提下,将\(a_2\)变成\(min(a_1,a_2)\),并将\(a_1\)删去,思路:删去的时候肯定不能让字符串\(a\)的大小\(b\)的大小,并且得知后面的字符串一定要相
2022年牛客多校第四场题解N-ParticleArts题目大意:给定\(n\)个数字,每一次选两个数字\(a,b\),将\(a,b\)两个数字变成\(a\&b\)和\(a\vertb\)多次进行,一直到这些数字趋于一个稳定值,然后算这些数字的方差是多少.方差公式:\(\sigma^{2}=\frac{1}{n}\sum_{i=1}^{n}\left(x_{i}-\mu\right)^{2}\)where\(\mu=\frac{1}{n}\sum_{i=1}^{n}x_{i}\)题解: 一开始我们想到给定\(a,b,c\)三个数字,然后当\(a\)和\(b\)发生反应之后(就是变成了\(a\&
2022年牛客多校第四场题解N-ParticleArts题目大意:给定\(n\)个数字,每一次选两个数字\(a,b\),将\(a,b\)两个数字变成\(a\&b\)和\(a\vertb\)多次进行,一直到这些数字趋于一个稳定值,然后算这些数字的方差是多少.方差公式:\(\sigma^{2}=\frac{1}{n}\sum_{i=1}^{n}\left(x_{i}-\mu\right)^{2}\)where\(\mu=\frac{1}{n}\sum_{i=1}^{n}x_{i}\)题解: 一开始我们想到给定\(a,b,c\)三个数字,然后当\(a\)和\(b\)发生反应之后(就是变成了\(a\&
牛客-剑指offer题解第一阶段目录牛客-剑指offer题解第一阶段考察点汇总二维数组中的查找旋转数组的最小数字调整数组顺序使奇数位于偶数前面顺时针打印矩阵数组中出现次数超过一半的数连续子数组的最大和把数组排成最小的数数组中的逆序对数字在升序数组中出现的次数数组中只出现过一次的两个数字数组中的重复数字构建乘积数组考察点汇总数组,贪心,二分,归并排序,动态规划二维数组中的查找题目考察点:思路classSolution{public:boolFind(inttarget,vector>array){if(array.size()==0)returnfalse;if(array[0].size()=
牛客-剑指offer题解第一阶段目录牛客-剑指offer题解第一阶段考察点汇总二维数组中的查找旋转数组的最小数字调整数组顺序使奇数位于偶数前面顺时针打印矩阵数组中出现次数超过一半的数连续子数组的最大和把数组排成最小的数数组中的逆序对数字在升序数组中出现的次数数组中只出现过一次的两个数字数组中的重复数字构建乘积数组考察点汇总数组,贪心,二分,归并排序,动态规划二维数组中的查找题目考察点:思路classSolution{public:boolFind(inttarget,vector>array){if(array.size()==0)returnfalse;if(array[0].size()=
TheNameCalculator题解题目链接:TheNameCalculator题解首先看程序开启的保护,有Canary和NX栈不可执行。IDA打开程序,shift+F12查看字符串,发现有"Hereisyourflag:"。点进去通过交叉引用找到该字符串在superSecretFunc()函数中,该函数可以执行"catflag"命令获得flag。使用交叉引用发现该函数没有被任何地方调用,所以这道题就是想办法修改某个执行地址为这个函数地址,从而执行该函数。程序main函数中存在缓冲区溢出,通过溢出buf修改变量v4的值,从而执行secretFunc()函数,这很容易实现。secretFunc
TheNameCalculator题解题目链接:TheNameCalculator题解首先看程序开启的保护,有Canary和NX栈不可执行。IDA打开程序,shift+F12查看字符串,发现有"Hereisyourflag:"。点进去通过交叉引用找到该字符串在superSecretFunc()函数中,该函数可以执行"catflag"命令获得flag。使用交叉引用发现该函数没有被任何地方调用,所以这道题就是想办法修改某个执行地址为这个函数地址,从而执行该函数。程序main函数中存在缓冲区溢出,通过溢出buf修改变量v4的值,从而执行secretFunc()函数,这很容易实现。secretFunc
「题解报告」[POI2008]PER-Permutation点击查看目录目录「题解报告」[POI2008]PER-Permutation思路代码不理解哪里难了,学过扩卢并且推一下式子基本就是两眼切吧。个人感觉顶多上位紫。思路首先设\(f_i\)表示前\(i-1\)位固定,第\(i\)位选一个比原来小的,后面随便排的方案数。显然\((\sum_{i=1}^{n}f_i)+1\)为答案,那么考虑如何快速求出\(f_i\)。考虑用“交换”的思想,即在后\(n-i\)个数中找到比\(a_i\)小的数和它换一下,然后再随便排。然而这里是可重集,所以还要去重乘上\(\dfrac{1}{\prod_{j}(